1. Field of the Invention
The present invention relates to techniques for providing interoperability between devices on a network.
2. Related Art
The increasing sophistication of small computing devices and corresponding advances in wireless networking technology are creating a world in which devices as diverse as personal digital assistants (PDAs) and stereo systems are able to interact with each other. A number of standards have been developed to facilitate these interactions. In particular, the BLUETOOTH™ wireless specification provides a standard that enables disparate wireless devices to interoperate with each other.
The Bluetooth wireless specification defines “devices profiles” for a large number of different devices. These device profiles specify how to use services provided by the corresponding devices. For example, a device profile for a printer can specify a protocol that allows a client to use the printer. In order to use the printer, the client first installs an implementation of the device profile. (Note that the terms “device” and “service” and the terms “device profile” and “service profile” are used interchangeably throughout this specification. Although in some instances the term “service” may be a more generic term, since—from a networking point of view—a service can be a device or something that's purely software.)
Standards such as Bluetooth have been successful in facilitating interoperability between devices provided by different vendors. However, there is often a considerable delay between the time the initial implementation of a new device profile is developed and the time when the new device profile becomes accepted as part of the standard. This delay can lead to a slow “lock-step” evolution process for device profiles. In the intervening time before a new device profile is accepted into the standard, only the company that developed the device profile is able to make use of it, which defeats the main advantage of using a standard. Moreover, by the time the new device profile is accepted into the standard, a newer more advanced profile may have been developed. Hence, the delay in accepting device profiles into the standard can cause devices profiles in the standard to continually lag behind the state of the art.
Furthermore, portable devices, such as PDAs and cell phones, typically encode device profiles in Read-Only Memory (ROM). This means that when new device profiles become available, existing portable devices are unable to make use of them. The existing portable devices are often simply discarded in order to be replaced with new devices that include the new device profiles. Although this rapid obsolescence of portable devices can greatly benefit device manufacturers, it is bothersome and expensive for device owners.
Hence, what is needed is a method and an apparatus that facilitates updating devices profiles without the problems described above.